home *** CD-ROM | disk | FTP | other *** search
/ Softline PAY-CD / Softline PAY-CD(1994).iso / programm / profi / demo / disk2 / setup.ms_ / setup.ms
Encoding:
Text File  |  1993-12-12  |  18.7 KB  |  671 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3.  
  4. ''Dialog ID's
  5. CONST WELLCOME                   =     100
  6. CONST WINI_IS_UPDATED            =     140
  7. CONST PATH_NOT_VALID             =     6400
  8. CONST ASKQUIT                    =     8002
  9. CONST GET_PROGDIR                =     300
  10. CONST END_INSTALL                =     700
  11. CONST FATAL_EXIT                 =     400
  12. CONST EXIT_NOT_INSTALLED         =     200
  13. CONST GET_FIRMA                  =     102
  14. CONST MUST_ENTER_NAME            =     7700
  15. CONST MUST_ENTER_FIRMA           =     7800
  16. CONST GET_USER                   =     104
  17. CONST INSTALL_OPTIONS            =     120
  18. CONST CHOOSE_OPTIONS             =     6200
  19. CONST DETECT_OLD_PROFI           =     130
  20. CONST HILFE                      =     408
  21. CONST REGISTER_PRODUCT           =     8001
  22. CONST NOT_ENOUGH_DISKSPACE       =     6300
  23.  
  24. CONST GETNEWPASSWORD             =     103
  25. CONST CALC_DISK_SPACE            =     110
  26. CONST DATABASE_OPTIONS           =     6201
  27. CONST MAIL_CONNECTION            =     6207
  28. CONST SHARE_VIOLATIOn            =     7100
  29.  
  30. CONST MAKE_FIELDS         =    10000      
  31.  
  32. GLOBAL d%
  33. GLOBAL update%
  34. GLOBAL stay%
  35. GLOBAL PROFIINI_NAME$
  36. GLOBAL PROFIINI_FIRMA$
  37. GLOBAL PROFIINI_BENUTZER$
  38. GLOBAL PROFIINI_PASSWORT$
  39. GLOBAL WINDRIVE$   
  40. GLOBAL MINDISKSPACE$ 
  41. GLOBAL MAXDISKSPACE$ 
  42. GLOBAL PROFIPATH$
  43.  
  44.  
  45. ''Bitmap ID
  46. CONST LOGO = 1
  47. caption$="PROFI" 
  48.  
  49.  
  50. PROFIINI_NAME$=""
  51. PROFIINI_FIRMA$=""
  52. PROFIINI_BENUTZER$=""
  53. PROFIINI_PASSWORT$=""
  54. MINDISKSPACE$="15" 
  55. MAXDISKSPACE$="7" 
  56.  
  57. PROFIPATH$="C:\profi\"
  58. stay%=1      
  59. custom%=0
  60. d%=-1
  61. update%=0
  62.  
  63. DECLARE FUNCTION CheckPath(path$)                     AS INTEGER
  64. DECLARE FUNCTION MyGetCopylistCost(cost$)             AS STRING 
  65. DECLARE FUNCTION SetMaxSpace(dummy$)                 AS INTEGER
  66. DECLARE FUNCTION SetMinSpace(dummy$)                 AS INTEGER
  67. DECLARE FUNCTION GetDriveSpaceStr (path$)             AS STRING
  68. DECLARE FUNCTION DetectOldProfi(dummy$)             AS INTEGER
  69. DECLARE FUNCTION CheckProgSpaceMax(dummy$)            AS LONG 
  70. DECLARE FUNCTION CheckWinSpaceMax(dummy$)            AS LONG 
  71. DECLARE FUNCTION CheckProgSpaceMin(dummy$)            AS LONG 
  72. DECLARE FUNCTION CheckWinSpaceMin(dummy$)            AS LONG 
  73.  
  74.  
  75. INIT:
  76.     SetAbout "PROFI SQL  Setup" ,"fit GmbH Wiesbaden"
  77.     i%=SetBeepingMode(1)
  78.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  79.        CUIDLL$ = szInf$+"mscuistf.dll"  ''Custom user interface dll
  80.     SetBitmap CUIDLL$, LOGO
  81.     SetTitle "PROFI SQL"
  82.     IF szInf$ = "" THEN
  83.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  84.     END IF
  85.     SetSymbolValue "NAME"            ,PROFIINI_NAME$
  86.     SetSymbolValue "FIRMA"             ,PROFIINI_FIRMA$
  87.     SetSymbolValue "BENUTZER"        ,PROFIINI_BENUTZER$
  88.     SetSymbolValue "PASSWORD"        ,PROFIINI_PASSWORT$
  89.     SetSymbolValue "PROFIPATH"        ,PROFIPATH$
  90.     SetSymbolValue "MINDISKSPACE"    ,MINDISKSPACE$
  91.     SetSymbolValue "MAXDISKSPACE"    ,MAXDISKSPACE$
  92.     ReadInfFile szInf$
  93.     i%=SetSilentMode(0)
  94.     myerr%=0
  95.      WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  96.  
  97. GOSUB WELLCOME
  98. IF  stay%=0 THEN 
  99.     GOTO QUIT
  100. ENDIF
  101.  
  102. GOSUB GET_PROGDIR
  103. IF  stay%=0 THEN 
  104.     GOTO QUIT
  105. ENDIF
  106.  
  107. dummy$=FindFileInTree ("PROFIRES.DLL",GetWindowsDir())
  108. IF dummy$<>"" THEN
  109.     GOSUB  DETECT_OLD_PROFI
  110. ENDIF
  111. IF  stay%=0 THEN 
  112.     GOTO QUIT
  113. ENDIF
  114. IF  update%=1 THEN 
  115.     GOTO QUIT
  116. ENDIF
  117.  
  118.  
  119.  
  120. GOSUB GET_FIRMA
  121. IF stay%=0 THEN 
  122.     GOTO QUIT
  123. ENDIF
  124.  
  125. ''GOSUB GET_USER
  126. ''IF stay%=0 THEN 
  127. ''    GOTO QUIT
  128. ''ENDIF
  129.  
  130. d%=ShowWaitCursor()
  131. i%=SetMinSpace(PROFIPATH$)
  132. i%=SetMaxSpace(PROFIPATH$)
  133. RestoreCursor(d%)
  134. d%=-1
  135.  
  136. GOSUB INSTALL_OPTIONS
  137. IF stay%=0 THEN 
  138.     GOTO QUIT
  139. ELSEIF custom%=1 THEN
  140.     GOSUB MAKE_FIELDS
  141.     GOSUB CHOOSE_OPTIONS
  142.     IF stay%=0 THEN 
  143.         GOTO QUIT
  144.     ENDIF
  145. ENDIF
  146.  
  147.  
  148. QUIT:
  149.     ON ERROR GOTO ERRQUIT
  150.     IF ERR=0 THEN
  151.         IF myerr% = STFERR THEN
  152.             GOTO ERRQUIT
  153.         ELSEIF myerr% = STFQUIT THEN
  154.             GOTO ERRQUIT
  155.         ELSEIF stay%=0 THEN
  156.             GOTO ERRQUIT
  157.         ELSE
  158.             d%=ShowWaitCursor()
  159.             GOSUB WRITESQLINI
  160.             GOSUB WRITEPROFIINI
  161.             GOSUB CREATE_PMAN
  162.             CreateDir PROFIPATH$ +"INPATH",cmoNone
  163.             CreateDir PROFIPATH$ +"OUTPATH",cmoNone
  164.             CreateDir PROFIPATH$ +"VORLAGEN",cmoNone
  165.             CreateDir PROFIPATH$ +"DRUCKVOR",cmoNone
  166.             RestoreCursor(d%)
  167.             d%=-1
  168.             GOSUB END_INSTALL
  169.         END IF
  170.         UIPopAll
  171.     ELSE 
  172.         GOTO ERRQUIT
  173.     ENDIF
  174. END
  175.          
  176.  
  177. ERRQUIT:
  178.     stay%=1
  179.     IF d% >= 0 THEN
  180.         RestoreCursor(d%)
  181.     ENDIF
  182.     sz$ = UIStartDlg(CUIDLL$, FATAL_EXIT, "FatalExitDlgProc", HILFE, "HelpDlgProc")
  183.     IF sz$ = "ENDE" THEN
  184.         UIPop 1
  185.     ELSEIF sz$ = "REACTIVATE" THEN
  186.         GOTO ERRQUIT
  187.     END IF
  188.     UIPopAll
  189. END
  190.  
  191.  
  192.                          
  193.                         
  194. END_INSTALL:
  195.     sz$ = UIStartDlg(CUIDLL$, END_INSTALL, "EndInstallDlgProc", HILFE, "HelpDlgProc")
  196.     IF sz$ = "ENDE" THEN
  197.         UIPop 1
  198.     ELSEIF sz$ = "REACTIVATE" THEN
  199.         GOTO END_INSTALL
  200.     END IF
  201. RETURN
  202.  
  203.  
  204. WRITESQLINI:
  205.         CreateIniKeyValue PROFIPATH$+"SQL.INI", "DBWINDOW","DBDIR" ,PROFIPATH$, cmoOverwrite
  206. RETURN
  207.  
  208. MUST_ENTER_NAME:
  209.     sz$ = UIStartDlg(CUIDLL$, MUST_ENTER_NAME, "MustEnterNameDlgProc", 0, "")
  210.     IF sz$ = "ENDE" THEN
  211.         UIPop 1
  212.     ELSEIF sz$ = "REACTIVATE" THEN
  213.         GOTO MUST_ENTER_NAME
  214.     END IF
  215.  
  216. RETURN
  217.  
  218. MUST_ENTER_FIRMA:
  219.     sz$ = UIStartDlg(CUIDLL$, MUST_ENTER_FIRMA, "MustEnterFirmaDlgProc", HILFE, "")
  220.     IF sz$ = "ENDE" THEN
  221.         UIPop 1
  222.     ELSEIF sz$ = "REACTIVATE" THEN
  223.         GOTO MUST_ENTER_FIRMA
  224.     END IF
  225.  
  226. RETURN
  227.  
  228. WRITEPROFIINI:
  229.     p$=GetWindowsDir()+"PROFI.INI"
  230.     cmo%=cmoOverwrite
  231.     
  232.     CreateIniKeyValue p$, "LIZENZ","NAME",PROFIINI_NAME$        ,cmo%
  233.     CreateIniKeyValue p$, "LIZENZ","Firma",PROFIINI_FIRMA$        ,cmo%
  234.  
  235.  
  236.     CreateIniKeyValue p$, "INIT","PROGPATH",PROFIPATH$        ,cmo%
  237.     CreateIniKeyValue p$, "INIT","User",PROFIINI_BENUTZER$        ,cmo%
  238.     CreateIniKeyValue p$, "INIT","Password",PROFIINI_PASSWORT$    ,cmo%
  239.     CreateIniKeyValue p$, "FITARCHIV","INPATH",PROFIPATH$    ,cmo%
  240.     CreateIniKeyValue p$, "FITARCHIV","OUTPATH",PROFIPATH$    ,cmo%
  241.     CreateIniKeyValue p$, "FITARCHIV","LADEDATEI",PROFIPATH$+"temp.pro"    ,cmo%
  242.     CreateIniKeyValue p$, "SCHREIBEN","VORLAGE",""    ,cmo%
  243.     CreateIniKeyValue p$, "SCHREIBEN","VORPATH", PROFIPATH$+"VORLAGEN\"    ,cmo%
  244.     CreateIniKeyValue p$, "PRINT","DEFAULTPATH", PROFIPATH$+"DRUCKVOR\"    ,cmo%
  245.     CreateIniKeyValue p$, "PRINT","DEFAULTLST", "default.lst"    ,cmo%
  246.     CreateIniKeyValue p$, "CUR_QUERY","PRINTFILE", PROFIPATH$+"SERIEBRF.ABF"    ,cmo%    
  247.     CreateIniKeyValue PROFIPATH$+"MAGIC.INI", "Magic Fields Files","<CURRENT>",PROFIPATH$+"MFEDIT.INI"    ,cmo%
  248. RETURN
  249.  
  250. FUNCTION CheckPath(path$) STATIC AS INTEGER 
  251.       
  252.       ret%=IsDirWritable(path$)
  253.      CheckPath=ret%
  254.  
  255. END FUNCTION
  256.  
  257. FUNCTION MyGetCopylistCost(dummy$) STATIC AS STRING
  258.     costlist$="KOST"
  259.     EXTRACOSTS$="Dummy1"
  260.     FOR i% = 1 TO 26 STEP 1
  261.         AddListItem EXTRACOSTS$, "0"
  262.     NEXT i%
  263.  
  264.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  265.     ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  266.  
  267.     StillNeed& = GetCopyListCost(EXTRACOSTS$, costlist$, "")
  268.     cost& = 0
  269.     FOR i% = 1 TO 26 STEP 1
  270.         cost&  = cost& + VAL(GetListItem(costlist$, i%))
  271.     NEXT i%
  272.     l&=cost& /(1024*1024)
  273.     a$=STR$(cost& / (1024*1024))
  274.     b$=STR$((cost&-(l&*1024*1024)) / 1024)
  275.     MyGetCopylistCost = MID$(a$,2,LEN(a$))+"."+MID$(b$,2,1)+" MB"
  276.     ClearCopyList
  277.     RemoveSymbol EXTRACOSTS$
  278.     RemoveSymbol costlist$
  279. END FUNCTION
  280.  
  281.  
  282. FUNCTION SetMaxSpace (PROFIPATH$) STATIC  AS INTEGER
  283.  
  284. ClearCopyList
  285. AddSectionFilesToCopyList "Files", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  286. AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  287. ''AddSectionFilesToCopyList "WINSYSTEM", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()+"SYSTEM"
  288. AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  289. AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$ 
  290. AddSectionFilesToCopyList "VORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  291. AddSectionFilesToCopyList "DRUCKVORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$ 
  292. SetSymbolValue "MAXDISKSPACE"    ,MyGetCopylistCost("dummy")
  293. ClearCopyList
  294. SetMaxSpace=0
  295.  
  296. END FUNCTION
  297.  
  298. FUNCTION SetminSpace (PROFIPATH$) STATIC  AS INTEGER
  299.  
  300.  
  301. ClearCopyList
  302. AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  303. AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  304. AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  305. SetSymbolValue "MINDISKSPACE"    ,MyGetCopylistCost("dummy")
  306. ClearCopyList
  307. SetminSpace=0
  308.  
  309. END FUNCTION
  310.  
  311. FUNCTION GetDriveSpaceStr (path$) STATIC  AS STRING
  312.  
  313.     drive$ = MID$(path$, 1, 1)
  314.     free& = GetFreeSpaceForDrive(drive$)
  315.     l&=free& /(1024*1024)
  316.     a$=STR$(free& / (1024*1024))
  317.     b$=STR$((free&-(l&*1024*1024)) / 1024)
  318.     GetDriveSpaceStr = MID$(a$,2,LEN(a$))+"."+MID$(b$,2,1)+" MB"
  319.  
  320. END FUNCTION
  321.  
  322.  
  323.  
  324.  
  325. WELLCOME:
  326.     sz$ = UIStartDlg(CUIDLL$, WELLCOME, "WelcomeDlgProc",HILFE, "HelpDlgProc")
  327.     IF sz$ = "ABBRUCH" THEN
  328.         GOSUB ASKQUIT
  329.         IF stay%=1 THEN
  330.             GOTO WELLCOME
  331.         END IF
  332.     ELSEIF sz$ = "REACTIVATE" THEN 
  333.         GOTO WELLCOME
  334.     END IF     
  335.     UIPop 1
  336.     
  337. RETURN
  338.  
  339. ASKQUIT:
  340.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "AskQuitDlgProc", HILFE, "")
  341.     IF sz$ = "ENDE" THEN
  342.         stay%=0 
  343.     ELSEIF sz$ = "REACTIVATE" THEN
  344.         GOTO ASKQUIT
  345.     ELSEIF sz$ = "WEITER" THEN
  346.         stay%=1
  347.     END IF 
  348.     UIPop 1
  349.     
  350. RETURN
  351.  
  352.  
  353. GET_PROGDIR:
  354.  
  355.     sz$ = UIStartDlg(CUIDLL$, GET_PROGDIR, "GetProgDirDlgProc",HILFE, "HelpDlgProc")
  356.     IF sz$ = "WEITER" THEN
  357.         PROFIPATH$ = GetSymbolValue("PROFIPATH")
  358.         IF MID$(PROFIPATH$,LEN(PROFIPATH$),LEN(PROFIPATH$)-1)<>"\" THEN
  359.             PROFIPATH$=PROFIPATH$+"\"
  360.         ENDIF 
  361.         IF CheckPath(PROFIPATH$)=0 THEN
  362.             GOSUB PATH_NOT_VALID
  363.             GOTO  GET_PROGDIR
  364.         ENDIF
  365.     ELSEIF sz$ = "ABBRUCH" THEN
  366.         GOSUB ASKQUIT
  367.         IF stay%=1 THEN
  368.             GOTO GET_PROGDIR
  369.         END IF
  370.     ELSEIF sz$ = "REACTIVATE" THEN 
  371.         GOTO GET_PROGDIR
  372.     END IF     
  373.     UIPop 1
  374.     
  375. RETURN
  376.  
  377. PATH_NOT_VALID:
  378.     sz$ = UIStartDlg(CUIDLL$, PATH_NOT_VALID, "PathNotValidDlgProc", HILFE, "HelpDlgProc")
  379.     IF sz$ = "ENDE" THEN
  380.         UIPop 1
  381.     ELSEIF sz$ = "REACTIVATE" THEN
  382.         GOTO PATH_NOT_VALID
  383.     END IF
  384. RETURN
  385.  
  386. GET_FIRMA:
  387.     sz$ = UIStartDlg(CUIDLL$, GET_FIRMA, "GetFirmaDlgProc",HILFE, "HelpDlgProc")
  388.     IF sz$ = "WEITER" THEN
  389.         PROFIINI_NAME$ = GetSymbolValue("NAME")
  390.         PROFIINI_FIRMA$ = GetSymbolValue("FIRMA")
  391.         IF         PROFIINI_NAME$="" THEN
  392.             GOSUB  MUST_ENTER_NAME
  393.             GOTO GET_FIRMA
  394.         ELSEIF  PROFIINI_FIRMA$ ="" THEN
  395.             GOSUB  MUST_ENTER_FIRMA
  396.             GOTO GET_FIRMA
  397.         END IF
  398.     ELSEIF sz$ = "ABBRUCH" THEN
  399.         GOSUB ASKQUIT
  400.         IF stay%=1 THEN
  401.             GOTO GET_FIRMA
  402.         END IF
  403.     ELSEIF sz$ = "REACTIVATE" THEN 
  404.         GOTO GET_FIRMA
  405.     END IF     
  406.     UIPop 1
  407. RETURN  
  408.  
  409. GET_USER:
  410.     sz$ = UIStartDlg(CUIDLL$, GET_USER, "GetUserDlgProc",HILFE, "HelpDlgProc")
  411.     IF sz$ = "WEITER" THEN
  412.         PROFIINI_BENUTZER$ = GetSymbolValue("BENUTZER")
  413.         PROFIINI_PASSWORT$ = GetSymbolValue("PASSWORD")
  414.     ELSEIF sz$ = "ABBRUCH" THEN
  415.         GOSUB ASKQUIT
  416.         IF stay%=1 THEN
  417.             GOTO GET_USER
  418.         END IF
  419.     ELSEIF sz$ = "REACTIVATE" THEN 
  420.         GOTO GET_USER
  421.     END IF     
  422.     UIPop 1
  423. RETURN
  424.  
  425. INSTALL_OPTIONS:
  426.     custom%=0
  427.     sz$ = UIStartDlg(CUIDLL$, INSTALL_OPTIONS, "InstallOptionsDlgProc",HILFE, "HelpDlgProc")
  428.     IF sz$ = "FULLINSTALL" THEN 
  429.         s&=CheckProgSpaceMax(dummy$)
  430.         IF s&>0 THEN 
  431.             GOSUB NOT_ENOUGH_DISKSPACE
  432.             GOTO  INSTALL_OPTIONS
  433.         ENDIF
  434.         s&=CheckWinSpaceMax(dummy$)    
  435.         IF s&>0 THEN 
  436.             GOSUB NOT_ENOUGH_DISKSPACE
  437.             GOTO  INSTALL_OPTIONS
  438.         ENDIF 
  439.         AddSectionFilesToCopyList "Files", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  440.         AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  441.         AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$+"PROFI"
  442.         AddSectionFilesToCopyList "VORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$+"VORLAGEN"
  443.         AddSectionFilesToCopyList "DRUCKVORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$ + "DRUCKVOR"
  444.         ''AddSectionFilesToCopyList "WINSYSTEM", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()+"SYSTEM"
  445.         AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  446.         UIPop 1
  447.         AddToBillboardList CUIDLL$, REGISTER_PRODUCT, "RegisterProductDlgProc",100
  448.         SetCopyGaugePosition 1, 1
  449.         CopyFilesInCopyList
  450.         ClearBillboardList
  451.     ELSEIF sz$ = "MININSTALL" THEN
  452.         s&=CheckProgSpaceMin(dummy$)
  453.         IF s&>0 THEN 
  454.             GOSUB NOT_ENOUGH_DISKSPACE
  455.             GOTO  INSTALL_OPTIONS
  456.         ENDIF
  457.         s&=CheckWinSpaceMin(dummy$)    
  458.         IF s&>0 THEN 
  459.             GOSUB NOT_ENOUGH_DISKSPACE
  460.             GOTO  INSTALL_OPTIONS
  461.         ENDIF
  462.         AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  463.         AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$+"PROFI"
  464.         AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  465.         UIPop 1
  466.         AddToBillboardList CUIDLL$, REGISTER_PRODUCT, "RegisterProductDlgProc",100
  467.         SetCopyGaugePosition 1, 1
  468.         CopyFilesInCopyList
  469.         ClearBillboardList
  470.     ELSEIF sz$ = "ABBRUCH" THEN
  471.         GOSUB ASKQUIT
  472.         IF stay%=1 THEN
  473.             GOTO INSTALL_OPTIONS
  474.         END IF
  475.     ELSEIF sz$ = "REACTIVATE" THEN 
  476.         GOTO INSTALL_OPTIONS
  477.     ELSEIF sz$ = "CUSTOMINSTALL" THEN
  478.         custom%=1
  479.     END IF     
  480.     UIPop 1
  481.  
  482. RETURN
  483.  
  484.  
  485. CHOOSE_OPTIONS:
  486.     sz$ = UIStartDlg(CUIDLL$, CHOOSE_OPTIONS, "ChooseOptionsDlgProc",HILFE, "HelpDlgProc")
  487.     IF sz$ = "ID_CHOOSE_PATH" THEN
  488.         GOSUB GET_PROGDIR
  489.         GOSUB MAKE_FIELDS
  490.         GOTO CHOOSE_OPTIONS
  491.     ELSEIF sz$ = "ID_INSTALL" THEN
  492.         i%=DoMsgBox("MIN","ID_INSTALL",0)
  493.     ELSEIF sz$ = "IDPB_PROG" THEN
  494.         i%=DoMsgBox("MIN","IDPB_PROG",0)
  495.         GOTO CHOOSE_OPTIONS
  496.     ELSEIF sz$ = "IDPB_DATABASE" THEN
  497.         i%=DoMsgBox("MIN","IDPB_DATABASE",0)
  498.         GOTO CHOOSE_OPTIONS
  499.     ELSEIF sz$ = "IDCB_POG" THEN
  500.         i%=DoMsgBox("MIN","IDCB_PROG",0)
  501.         GOTO CHOOSE_OPTIONS
  502.     ELSEIF sz$ = "IDCB_DATABASE" THEN
  503.         i%=DoMsgBox("MIN","IDCB_DATABASE",0)
  504.         GOTO CHOOSE_OPTIONS
  505.     ELSEIF sz$ = "ABBRUCH" THEN
  506.         GOSUB ASKQUIT
  507.         IF stay%=1 THEN
  508.             GOTO CHOOSE_OPTIONS
  509.         END IF
  510.     ELSEIF sz$ = "REACTIVATE" THEN 
  511.         GOTO CHOOSE_OPTIONS
  512.     END IF     
  513.     UIPop 1
  514.  
  515. RETURN
  516.  
  517. CREATE_PMAN:
  518.  
  519. CreateProgmanGroup "PROFI SQL","" ,cmoNone
  520. CreateProgmanItem  "PROFI SQL", "Profi SQL⌐" ,PROFIPATH$+"PROFI.EXE",PROFIPATH$+"PROFI.EXE"+",0,1,1,"+PROFIPATH$,cmoOverwrite
  521. CreateProgmanItem  "PROFI SQL", "Stammdaten Verwaltung" ,PROFIPATH$+"STAMM.EXE",PROFIPATH$+"STAMM.EXE"+",0,1,1,"+PROFIPATH$,cmoOverwrite
  522. ShowProgmanGroup   "PROFI SQL",1 ,cmoNone
  523.  
  524. RETURN
  525.  
  526. MAKE_FIELDS:
  527.  
  528.     d%=ShowWaitCursor()
  529.  
  530.     SetSymbolValue "PROGPATH",PROFIPATH$
  531.  
  532.     AddSectionFilesToCopyList "Files", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  533.     AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  534.     AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  535.     AddSectionFilesToCopyList "VORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  536.     AddSectionFilesToCopyList "DRUCKVORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$ 
  537.     SetSymbolValue "PROGSPACE"        ,MyGetCopylistCost("dummy")
  538.  
  539.     SetSymbolValue "PROGSPACE_FREE"    ,GetDriveSpaceStr (PROFIPATH$)
  540.  
  541.     SetSymbolValue "WINDIR", GetWindowsDir$()
  542.  
  543.     ''AddSectionFilesToCopyList "WINSYSTEM", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()+"SYSTEM"
  544.     AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  545.     SetSymbolValue "WINSPACE", MyGetCopylistCost("dummy")
  546.  
  547.     SetSymbolValue "WINSPACE_FREE", GetDriveSpaceStr (GetWindowsDir$())
  548.     RestoreCursor(d%)
  549.     d%=-1
  550.  
  551. RETURN
  552.  
  553. FUNCTION CheckProgSpaceMin(dummy$)    STATIC        AS LONG  
  554.     d%=ShowWaitCursor()
  555.     costlist$="KOST"
  556.     AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  557.     AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$+"PROFI"
  558.     costlist$="KOST"
  559.     CheckProgSpaceMin= GetCopyListCost("", costlist$, "")
  560.     ClearCopyList
  561.     RestoreCursor(d%)
  562.     d%=-1
  563.  
  564. END FUNCTION
  565.  
  566. FUNCTION CheckWinSpaceMin(dummy$)    STATIC        AS LONG 
  567.  
  568.     d%=ShowWaitCursor() 
  569.     costlist$="KOST"
  570.     EXTRACOSTS$="Dummy1"
  571.     FOR i% = 1 TO 26 STEP 1
  572.         AddListItem EXTRACOSTS$, "0"
  573.     NEXT i%
  574.  
  575.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  576.     ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  577.  
  578.     AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  579.     CheckWinSpaceMin= GetCopyListCost(EXTRACOSTS$, costlist$, "")
  580.     ClearCopyList
  581.     RestoreCursor(d%)
  582.     d%=-1
  583.     RemoveSymbol EXTRACOSTS$
  584.     RemoveSymbol costlist$
  585. END FUNCTION
  586.  
  587.  
  588. FUNCTION CheckProgSpaceMax(dummy$)    STATIC        AS LONG 
  589.  
  590.     d%=ShowWaitCursor() 
  591.     AddSectionFilesToCopyList "Files", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  592.     AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  593.     AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  594.     AddSectionFilesToCopyList "VORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  595.     AddSectionFilesToCopyList "DRUCKVORLAGEN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$ 
  596.     AddSectionFilesToCopyList "WIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()
  597.     costlist$="KOST"
  598.     CheckProgSpaceMax= GetCopyListCost("", costlist$, "")
  599.     ClearCopyList
  600.     RestoreCursor(d%)
  601.     d%=-1
  602.     
  603. END FUNCTION
  604.  
  605. FUNCTION CheckWinSpaceMax(dummy$)    STATIC        AS LONG 
  606.  
  607.     d%=ShowWaitCursor()
  608.  
  609.     EXTRACOSTS$="Dummy1"
  610.     FOR i% = 1 TO 26 STEP 1
  611.         AddListItem EXTRACOSTS$, "0"
  612.     NEXT i%
  613.  
  614.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  615.     ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  616.     
  617.     ''AddSectionFilesToCopyList "WINSYSTEM",         GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()+"SYSTEM"
  618.     costlist$="KOST"
  619.     CheckWinSpaceMax= GetCopyListCost(EXTRACOSTS$, costlist$, "")
  620.     ClearCopyList
  621.     RestoreCursor(d%)
  622.     d%=-1
  623.     RemoveSymbol EXTRACOSTS$
  624.     RemoveSymbol costlist$
  625.  
  626. END FUNCTION
  627.  
  628. NOT_ENOUGH_DISKSPACE:
  629.  
  630.     sz$ = UIStartDlg(CUIDLL$, NOT_ENOUGH_DISKSPACE, "NoDiskSpaceDlgProc",HILFE, "HelpDlgProc")
  631.     IF sz$ = "REACTIVATE" THEN 
  632.         GOTO NOT_ENOUGH_DISKSPACE
  633.     ENDIF
  634.  
  635. RETURN
  636.  
  637. DETECT_OLD_PROFI:
  638.     sz$ = UIStartDlg(CUIDLL$, DETECT_OLD_PROFI, "DetectOldProfiDlgProc",HILFE, "HelpDlgProc")
  639.     IF sz$ = "ID_UPDATE" THEN
  640.         s&=CheckProgSpaceMin(dummy$)
  641.         IF s&>0 THEN 
  642.             GOSUB NOT_ENOUGH_DISKSPACE
  643.             GOTO  DETECT_OLD_PROFI
  644.         ENDIF
  645.         s&=CheckWinSpaceMin(dummy$)    
  646.         IF s&>0 THEN 
  647.             GOSUB NOT_ENOUGH_DISKSPACE
  648.             GOTO  DETECT_OLD_PROFI
  649.         ENDIF
  650.         AddSectionFilesToCopyList "PROGMIN", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$
  651.         ''AddSectionFilesToCopyList "WINSYSTEMMIN", GetSymbolValue("STF_SRCDIR") ,GetWindowsDir$()+"SYSTEM"
  652.         AddSectionFilesToCopyList "DBS", GetSymbolValue("STF_SRCDIR") ,PROFIPATH$+"PROFI"
  653.         UIPop 1
  654.         AddToBillboardList CUIDLL$, REGISTER_PRODUCT, "RegisterProductDlgProc",100
  655.         SetCopyGaugePosition 1, 1
  656.         CopyFilesInCopyList
  657.         ClearBillboardList
  658.         update%=1
  659.     ELSEIF sz$ = "ABBRUCH" THEN
  660.         GOSUB ASKQUIT
  661.         IF stay%=1 THEN
  662.             GOTO DETECT_OLD_PROFI
  663.         END IF
  664.     ELSEIF sz$ = "ID_NEW_INSTALL" THEN
  665.         update%=0
  666.     ELSEIF sz$ = "REACTIVATE" THEN 
  667.         GOTO DETECT_OLD_PROFI
  668.     END IF     
  669.     UIPop 1
  670. RETURN  
  671.